Device for applying to packaging

ABSTRACT

According to the present techniques there is provided a data processing device, for applying to packaging, the device having a flexible substrate, the flexible substrate comprising: storage circuitry to store device data therein; processing circuitry to process the device data; and communication circuitry to communicate with a remote resource to transmit the device data thereto; sensor circuitry to generate sensed device data, and wherein the device is configured to store the sensed device data in the storage circuitry, process the sensed device data and/or transmit the sensed device data to a remote resource.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of priority under 35 USC § 371 toInternational Patent Application No. PCT/GB2018/052035, filed on 18 Jul.2018 and titled “A Device for Applying to Packaging,” and GB ApplicationNo. 17 12048.6, filed 26 Jul. 2017 and titled “A Device for Applying toPackaging,” the subject matter of such previously filed applicationsbeing assigned to the assignee of claimed subject matter andincorporated herein by reference in their entirety.

BACKGROUND

The present techniques relate to the field of data processing devices.More particularly, the present techniques relate to data processingdevices, for applying to packaging, to determine a state orcharacteristic of associated goods. The present techniques also relateto systems having such data processing devices, and methods fordetermining a state or characteristic of associated goods.

There are ever increasing numbers of equipment within the home that candetermine the status of goods using various sensors provided in theequipment.

BRIEF DESCRIPTION OF THE DRAWINGS

The present techniques are diagrammatically illustrated, by way ofexample, in the accompanying drawings, in which:

FIG. 1 schematically shows a block diagram of an agent device accordingto an embodiment;

FIG. 2 schematically shows the agent device of FIG. 1 according to afurther embodiment;

FIG. 3 schematically shows a system comprising the agent device of FIG.2;

FIGS. 4a to 4c schematically show part of an example lifecycle of agentdevices of FIG. 2;

FIG. 5 schematically shows another part of the example lifecycle;

FIGS. 6a to 6b schematically show part of an example lifecycle of theagent device of FIG. 2 according to a further embodiment;

FIG. 7 schematically shows circuitry for use with the agent device ofFIG. 2 according to an embodiment; and

FIG. 8 is a flow diagram of an example lifecycle of the agent device ofFIG. 2.

DETAILED DESCRIPTION

Smart equipment, such as a refrigerator, may use a combination ofsensors, such as cameras, and advanced learning techniques to performidentification of goods. However, such functionality may require userinput to allow the smart equipment to “learn” what the product is, or,in the case of a camera, some goods may be obscured from the camera'sline of sight and the user must provide additional cameras to cover alllines of sight, resulting in increased expense, or move the goods to wewithin the camera's line of sight, which may be inconvenient.

According to a first technique there is provided a data processingdevice, for applying to packaging, the device having a flexiblesubstrate, the flexible substrate comprising: storage circuitry to storedevice data therein; processing circuitry to process the device data;and communication circuitry to communicate with a remote resource totransmit the device data thereto; sensor circuitry to generate senseddevice data, and wherein the device is configured to store the senseddevice data in the storage circuitry, process the sensed device dataand/or transmit the sensed device data to a remote resource.

According to a second technique there is provided a method ofdetermining a characteristic or state of one or more associated goodsfrom device data provisioned on a device, the method comprising:transmitting, from the device to a remote resource, the device data;processing, at the remote resource, the device data; determining, at theremote resource, the characteristic or state from the processed devicedata.

According to a further technique there is provided a method of updatingdata on a device, the method comprising: provisioning, at the device,state data; generating, at the device, sensed data; processing, at thedevice, the sensed data; updating, at the device, the state data inresponse to the processed sensed data.

According to a further technique there is provided a method of updatingdata stored on a device, the method comprising: provisioning, at thedevice, state data; generating, at the device, sensed data;transmitting, from the device to a remote resource, the state data andsensed data; receiving, at the device from the remote resource, acommand communication; updating, at the device, the state data inresponse to the command communication.

According to a further technique there is provided a method of providingsmart functionality with a device, the method comprising: transmitting,from the device to a remote resource, device data; processing at theremote resource, the device data; transmitting, from the remoteresource, a command communication to one or more of a second remoteresource and a further device to provide smart functionality based on orin response to the device data.

According to a further technique there is provided a computer programproduct comprising computer code for performing the methods describedherein.

According to a further technique there is provided a system comprising:

an agent device as described herein and a first remote resource incommunication therewith.

FIG. 1 schematically shows a block diagram of a data processing device2, hereafter “agent device” 2, which may be a device in the Internet ofThings (IOT), and may be a microcontroller or system on chip.

The agent device 2 comprises processing circuitry 4, such as amicroprocessor or integrated circuit(s) for controlling variousoperations performed by the agent device 2.

The agent device 2 also has communication circuitry 6 for communicatingwith one or more resources remote therefrom such as a data processingdevice, which may include a mobile telephone, computer terminal, serveror a gateway device.

The communication circuitry 6 may use wireless communication 7, such ascommunication using wireless local area network (Wi-Fi), short rangecommunication such as radio frequency communication (RFID) or near fieldcommunication (NFC), or communications used in wireless sensor networkssuch as ZigBee or Bluetooth, Bluetooth Low Energy (BLE) or 6LoWPAN,using any suitable communications protocol such as lightweightmachine-to-machine (LWM2M). Additionally, or alternatively, thecommunication circuitry may comprise a display 9, capable of generatingcode such as machine-readable code (e.g. barcodes, QR codes) or humanreadable code (e.g. text or icons).

The agent device 2 also comprises storage circuitry 8, for storing dataprovisioned on, or generated, by the agent device 2, hereafter “devicedata”.

Such device data includes identifier data comprising one or more deviceidentifiers to identify the device and may comprise one or more of:universally unique identifier(s) (UUID), globally unique identifier(s)(GUID) and IPv6 address(es), although any suitable device identifier(s)may be used.

A device identifier may also be segmented to identify one or moreaspects of the agent device such as: the manufacturer of the agentdevice 2; a class code of the agent device 2; and one or morecapabilities of the agent device 2, such as the communicationcapabilities (e.g. RFID, BLE), processing capabilities (e.g. processorspeed), storage capabilities (e.g. capacity), power capabilities (e.g.battery capacity, type(s) of energy harvester available) and sensingcapabilities (e.g. types of sensors available), although this list isnot exhaustive.

The identifier data may also include remote resource identifiersidentifying the remote resources to which the agent device 2 is toconnect, and may comprise a UUID, GUID, IPv6, Universal resource locator(URL) or universal resource identifier (URI).

The identifier data may also include authentication data forestablishing trust/cryptographic communications between the agent device2 and a remote resource. Such authentication data may includecertificates (e.g. signed by a root authority), cryptographic keys (e.g.public/private key pairs), tokens etc.

The identifier data may be provisioned on the agent device by anysuitable party.

A registry resource (not shown in FIG. 1) may be used to manage theidentifier data, whereby managing the identifier data may includegenerating, maintaining and/or disbanding/retiring the identifier dataas appropriate.

Such a registry resource may be provided in a cloud environment as partof a registry service. The registry resource can generate the identifierdata and transmit it to another remote resource (e.g. a manufacturer'sdevice) for provisioning on the particular agent device.

Once provisioned with identifier data, an agent device can be tracked(e.g. using the device identifier) and trust/cryptographiccommunications can be established with a remote resource (e.g. using theauthentication data).

The disbanding/retiring of identifier data for an agent device isdescribed below.

The agent device 2 may also be provisioned with, or may generate, otherdevice data as will be described below.

The agent device 2 comprises power circuitry 10 for powering the variouscircuitry. The power circuitry 10 may comprise a persistent power sourcesuch as a battery. The power circuitry 10 may additionally oralternatively include an energy harvester which may charge/recharge thepersistent power source. Alternatively, the energy harvester mayfunction as a stand-alone power-source to power the various circuitry(e.g. when a persistent power source is not provided or is not availableon the agent device 2).

The agent device 2 also comprises sensor circuitry 12 for generatingdata, hereafter “sensed data” in response to one or more events/changesin the agent device's 2 environment. As will be described below, thesensed data may be processed by the agent device 2 or transmitted to aremote resource as it is generated. Additionally, or alternatively, thesensed data may be stored in the storage circuitry 8 for laterprocessing by the agent device 2 and/or for later transmission to aremote resource.

The sensor circuitry 12 may include one or more of: a temperaturesensor, a chemical sensor (e.g. a gas sniffer), a humidity sensor, alight sensor, a weight sensor, an orientation sensor, an object presencesensor, a fluid level sensor and an accelerometer. It will beappreciated that this list of sensors is not exhaustive and additional,or alternative, sensors may be provided as required by a specificapplication for which the agent device 2 is used.

In some examples, the sensor circuitry 12 may be fabricated on aseparate substrate and provided in electrical communication with theother circuitry 4, 6, 8, 10 using electrical traces as required. Theagent device 2 may be fabricated using any suitable fabricationprocess(es), such as those used to fabricate structures/features forCMOS, Micro-Electro-Mechanical Systems (MEMS) and/or thin-film devicesas will be appreciated by a person skilled in the art.

Such processes may include manufacturing techniques such as deposition(e.g. inkjet printing, chemical vapour deposition, spin coating etc.),lithography (e.g. laser or chemical etching) or imprint processes (e.g.molecular imprint). Furthermore, reel-to-reel (R2R) processing may beused, such that individual agent devices may be fabricated on a sheet orroll, and may be removeable from the sheet or roll.

In embodiments, the agent device 2 may be applied to goods or packaging,whereby, applying an agent device to goods or packaging, covers applyingor embedding the agent device within primary packaging which provides anenclosure for the goods (e.g. shrink-wrap, envelope, paperboard, blisterpack, cans, bottle etc.) and/or secondary packaging providing anenclosure for the primary packaging (e.g. boxes, cartons, containers,crates etc.)

Such goods may include foodstuffs, beverages, medicines, electronicsetc., although this list is not intended to be exhaustive.

When applied to packaging for goods, the agent device 2 may beprovisioned with data relating to the state or characteristics of thegoods, hereafter “state data”. The state date may be provisioned by anyparty using a remote resource (e.g. a data processing device).

As an illustrative example, the state data may include an identifierrelating to one or more of: the type of goods, quantity, batch no, goodsmanufacturer, goods supplier, date of manufacture; date of shipping tosupplier; date of receipt by supplier; current expiration date,recommended retail price (RRP) and weight although this list is notexhaustive.

The state data may be queried by the agent device and/or by a remoteresource to determine a state or characteristic of the associated goodsto which the agent device is applied.

The agent device 2 may also be provisioned with data relating to theoperation of the agent device, hereafter “operational data”, whereby theoperational data may be specific for the goods to which the agent deviceis applied and, whereby the operational data may be used by the agentdevice 2 or a remote resource to verify the status of state dataprovisioned on the agent device in response to the conditions in whichthe packaging having the agent device applied thereto is stored, and toupdate the state data accordingly.

For example, the operational data may specify operating parametersoutside of which a state of the associated goods may degrade ordeteriorate, and such operating parameters may include one or more of:temperature parameters (e.g. min/max temperature thresholds),orientation parameters (e.g. ±X degrees to vertical/horizontal),humidity parameters (% thresholds), weight parameters (e.g. min/maxweight thresholds) and gas parameters (e.g. ppm thresholds), althoughthis list is not exhaustive.

The operational data may also detail the actions that should be takenwhen an agent device generates sensed data which falls outside of thespecified operating parameters.

For example, the operational data may specify that the associated goodsshould be discarded when a sensed temperature falls outside of aspecified temperature range or when the sensed temperature falls outsideof a specified temperature range for a specified duration (e.g. seconds,minutes, hours). In another example, the operational data may specifythat the associated goods should be discarded when a specific humidityor specific gas profile is sensed, or when a particular weight issensed.

The operational data may also comprise instructions for a device (e.g.agent device or remote resource) to update the state data in response tothe sensed data. For example, the operational data may comprise analgorithm to enable the agent device or a remote resource to calculatean updated expiration date for the associated goods based on one or moresensed temperature measurements, sensed humidity measurements, sensedgas measurements, sensed light measurements, sensed orientationmeasurements etc.

Such an algorithm may specify the rate of deterioration (a decayfunction) of a particular goods item in response to the actual senseddata, such that the expiration date in the state data may berecalculated and updated on the agent device in response to the decayfunction.

As a further example, the operational data may comprise an algorithm toenable the agent device or a remote resource to calculate an updatedquantity of associated goods and to update the state data accordingly.

As a further example, the operational data may comprise an algorithm toenable the agent device or a remote resource to calculate an updated RRPof associated goods and to update the state data accordingly, wherebythe updated RRP may be displayed on the display (e.g. in text form, orusing a machine-readable code such as a barcode).

It will be appreciated that the device data (e.g. identifier data, statedata, operational data) may be provisioned by any suitable party orparties. For example, a manufacturer of the agent device may provisionthe identifier data, whilst a goods manufacturer, supplier or user mayprovision operational data and state data, although the claims are notlimited in this respect.

In FIG. 2, the agent device 2 is illustratively depicted as a flexiblethin film device, whereby the various circuitry 4, 6, 8, 10, 12comprises thin film circuitry provided on or in a flexible substrate 14,whereby the flexible substrate may comprise one or more metallic and/orpolymer layers.

The processing circuitry 4 may comprise electronic components and logic,such as transistors (NMOS, PMOS and/or CMOS transistor arrangements),logic gates (e.g. AND, OR, NAND, NOR etc.), provided on or in theflexible substrate. In embodiments, the processing circuitry maycomprise a plastic processor.

The communication circuitry 6 may comprise any suitable circuitrycapable of receiving data from, and transmitting data to, a remoteresource. In an illustrative example, the communication circuitry maycomprise an inkjet-printed radio, comprising circuitry such asbackscatter circuitry, Wi-Fi or BLE circuitry. As described above, thecommunication circuitry 6 may comprise a display (not shown in FIG. 2)such as a flexible thin film transistor (TFT) or electrophoretic ink(E-ink) display to generate code such as machine-readable code and/orhuman readable code.

The storage circuitry 8 may comprise volatile and non-volatile memory,whilst the power circuitry 10 may comprise a solid-state battery and mayadditionally, or alternatively, include one or more of: an energyharvester, such as a vibration harvester, a radio frequency (RF)harvester, a light harvester and a thermal energy harvester. As anillustrative example, an RF energy harvester (e.g. RFID, Wi-Fi), maycomprise a metallic coil and rectifiers, whereby the RFID energyharvester receives RF energy from a remote device, and, using therectifiers, converts the RF energy into electrical energy forcharging/re-charging the power circuitry 10 and/or powering the variouscircuitry.

As above, the sensor circuitry 12 may include one or more of: atemperature sensor, a chemical sensor (e.g. a gas sniffer), a humiditysensor, a light sensor, a weight sensor, an orientation sensor, anobject presence sensor, a fluid level sensor and an accelerometer.

As an illustrative example, a temperature sensor may comprise a materialhaving a physical property that varies in response to temperature. Forexample, such a temperature sensor may comprise a material having anelectrical resistance and/or a dielectric constant which varies inresponse to temperature. Additionally, or alternatively, the temperaturesensor may comprise digital logic to measure temperature. Such digitallogic may comprise transistors provided in a ring oscillator circuit,whereby the temperature may be determined in response to measuring asignal propagating in the ring oscillator circuit.

As a further illustrative example, a chemical sensor is a gas sniffercomprising an active material having one or more property (e.g.electrical current, voltage, resistance etc.) that varies in response tothe level of gas in the environment.

As a further illustrative example, a humidity sensor comprises amaterial (e.g. hygroscopic material) having one or more property (e.g.electrical current, voltage, resistance etc.) that varies in response tothe level of humidity in the environment.

As a further illustrative example, a light sensor may comprise aphotovoltaic device, having one or more property (e.g. electricalcurrent, voltage, resistance etc.) that varies in response to the levelof light in the environment.

As a further illustrative example, a weight sensor may comprise a straingauge in the form of an elongated conductive wire, whereby theresistance of the wire varies in response to the strain thereon.Alternatively, a piezoelectric material may be used as a weight sensor.It will be appreciated that the weight sensor may also be used to detectimpacts, or record shocks or vibrations rather than being limited todetecting weight.

As a further illustrative example, an object presence sensor maycomprise a coil whereby the agent device may sense the inductanceresulting from the respective wire coils, and whereby the inductancesensed by the agent device varies when an object is in proximity to thecoil.

As a further illustrative example, a fluid level sensor may comprise acapacitive sensor whereby the capacitance sensed by the agent devicevaries as the measured fluid level varies.

FIG. 3 depicts an agent device 2, provided on packaging 16, having allcircuitry 4, 6, 8, 10, 12 provided on or in a flexible substrate 14 asdescribed above in FIG. 2.

As depicted in FIG. 3, the agent device 2 can communicate with a remoteresource 20, such as a data processing device, to transmitcommunications thereto and/or receive communications therefrom.

In the illustrative example, of FIG. 3, the agent device 2 is applied onthree different planes of the packaging (TOP, FRONT, BOTTOM) and thesensor circuitry includes two different sensors, a temperature sensor 12a on the FRONT plane and a weight sensor 12 b extending between theFRONT and BOTTOM planes. It will be appreciated that references toactual positioning and different planes are for illustrative purposesonly and are not intended to be limiting.

Communications 19 from the agent device 2 to the remote resource 20 maybe one-way communications, whereby the agent device 2 broadcastscommunications using a connectionless protocol. In alternative examples,communications 19 from the agent device 2 may be targeted to one or moreremote resources 20, (e.g. using a LWM2M protocol).

As an illustrative example, the agent device 2 may transmit acommunication 19 comprising device data including a device identifier(ID) and, when targeted for a specific remote resource, thecommunication may also include an identifier (e.g. UUID for the remoteresource), which may be provisioned on the agent device 2 by the remoteresource 20 or another remote resource during a registration process.

Furthermore, the remote resource 20 can also transmit communications 21to the agent device. Such communications 21 may comprise one or moreinstructions/commands to be executed by the agent device 2, hereafter“command communication” 21, whereby the command communication 21comprises command data (e.g. n-bits of data) recognised by the agentdevice as denoting one or more actions to be undertaken thereby.

Such actions may include instructing the agent device to display a code(e.g. “expiration date is XX/YY/ZZ” or a QR code denoting the expirationdata) on the display, to update some or all of the device data thereonand/or transmit some or all of the device data to the remote resource20, although this list is not exhaustive.

In some examples, the command communication 21 may be signed by theremote resource 20 (e.g. using a private cryptographic key), andverified by the receiving agent device 2 (e.g. using a correspondingcryptographic key provisioned thereon during a registration process).

The agent device 2 may receive a plurality of command communications 21from different devices, but may discard communications which do notinclude a recognised device identifier and/or which are not verifiableusing the authentication data provisioned thereon. Such functionalitymeans that the agent device 2 does not have to process allcommunications received thereat, but only those which are targetedthereto and/or which are from a verifiable source.

In operation, the agent device 2 may generate sensed data using thesensor circuitry 12 thereon (e.g. temperature sensor 12 a and/or weightsensor 12 b), and may store the sensed data in the storage circuitry 8thereon.

The agent device 2 may actively sense data continuously, whereby theagent device remains powered-on, with the duration between sensedmeasurements (e.g. milli-seconds, seconds, minutes, hours, days etc.)being specified in the operational data. Alternatively, the agent device2 may actively sense data periodically, whereby the agent device 2powers-down for a period of time between measurements to conserve power.The duration between the agent device 2 powering down and powering up(e.g. seconds, minutes, hours, days etc.) may also be specified in theoperational data.

Therefore, using the power circuitry provided thereon, the agent devicecan actively sense data over its entire lifecycle (e.g. from beingapplied to the packaging through to the goods being discarded), and thesensed data processed using the processing circuitry, transmitted to aremote resource and/or stored in storage circuitry for later processing.

For example, the agent device 2, using the processing circuitry 4, mayprocess the sensed data to verify whether the agent device 2 has senseddata within the parameters specified in the operational data. When theagent device 2 determines that it the sensed data falls outside of thespecified parameters, it can take appropriate action which may includedisplaying a code (e.g. a text, icon, barcode) on the display orupdating the state data thereon, although this list is not exhaustive.

It will be appreciated that by processing the sensed data at the agentdevice 2, the agent device 2 can take appropriate action in real-timewithout having to wait for communications to be established with aremote resource 20.

However, in some applications it be advantageous for the remote resource20 to process the device data. Therefore, in addition to, or as analternative to processing the data thereon the agent device 2 maytransmit the sensed data from the storage circuitry to the remoteresource 20 for processing thereat, or may transmit the sensed datadirectly to the remote resource as the sensed data is generated.

When the remote resource 20 determines that the agent device 2 hassensed data outside of the parameters specified in the operational data,the remote resource 20 can take appropriate action such as transmittinga command communication to the agent device 2 to display a code or toupdate the state data accordingly etc.

Transmitting the sensed data to a remote resource 20 means that theagent device 2 can conserve energy by having the remote resource 20perform the processing.

Such functionality also provides for one to many querying, whereby theremote resource 20 can request device data from individual agent devicesby sending a command communication requesting the device data at anappropriate time.

The remote resource 20 may also interact with a cloud environment 22,which provides one or more services, including data storage & analyticsservices, management services, application services and registryservices although this list is not exhaustive.

In examples, the remote resource 20 may communicate with the cloudenvironment 22 to check for status updates for the agent device. Forexample, the remote resource may check for software updates (e.g.operational data updates), for a particular agent device or class ofagent device as identified from the identifier data and, when softwareupdates are available, provision the updates on the agent deviceaccordingly.

Additionally, or alternatively, such status updates may relate to thegoods associated with the packaging to which the agent device isapplied. For example, such status updates may relate to a recall ofparticular goods, batch of goods, or goods from a particular supplieretc., as identified from the state data. On receiving such statusupdates, the remote resource 20 can take appropriate action, such asalerting the user as appropriate (e.g. sending a command communicationto the agent device 2 to display a code, or by sending an SMS or IMmessage to a registered user device warning of the recall).

In some examples, the remote resource may not process the device datareceived from the agent device 2, but may act as a dumb resource, merelytransmitting the device data received from agent device 2 to anotherresource such as the cloud environment 22 for processing thereby, and totransmit communications from the other resource to the agent device 2.

Furthermore, agent devices may receive communications from one or moreremote resources, not all of which are targeted thereat. Even when amajority of these communications are ultimately discarded by the agentdevice 2, processing the communications (e.g. to verify a deviceidentifier) may consume power. Therefore, a data queue 23 may beprovided (depicted as being provided as part of the remote resource 20),whereby command communications destined for an agent device 2 are storedin the data queue 23 until the agent device 2 is capable of receivingthe communications.

The agent device 2 may enter a low power mode, powering down some or themajority of its circuitry for a period of time. When the agent device 2powers-up it may broadcast a communication e.g. (transmit its UDDI),which is recognised by the remote resource 20 that the agent device 2 iscapable of receiving communications therefrom. The remote resource 20can check whether there are any communications in the data queue 23 forthe agent device 2, and, if so, transmit the communications thereto.

Such asynchronous communication with the queue 23 provides that theagent device 2 can power down to conserve energy, yet receive commandcommunications when powered-up. Such functionality may be particularlyuseful for agent devices 2 having constrained power/processingcapabilities.

It may be advantageous to disband some or all or the device data on anagent device at the end of its lifecycle whereby the remote resource 20may communicate with a registry resource to disband the identifier data.The identifier data, or part thereof (e.g. device identifiers) may thenbe assigned to another agent device. Alternatively, the registryresource may add the identifier data to a blacklist, which is sent toremote resources registered therewith, whereby the blacklist specifiesagent devices which the remote resources should not trust and/orestablish communications with.

Additionally, or alternatively, the remote resource may transmit acommand communication to an agent device whose identifier data isdisbanded, to instruct the agent device to power down some, or all, ofthe circuitry thereon and/or to indicate to a user that the identifierdata has expired (e.g. by generate a code on a display), and that theassociated goods should be disposed.

In an example, disbanding the identifier data may be active, whereby theidentifier data on a particular agent device is automatically disbandedby the registry resource after a pre-specified duration (e.g. days,weeks, months years etc.)

In alternative examples, disbanding the identifier data may be passive,whereby, for example, the disbanding is reliant on a communication, orlack thereof, from the agent device to a remote resource. Such passivedisbanding may include a challenge-response operation between the agentdevice and remote resource, whereby the remote resource may communicatewith the agent device to determine whether the device is functioningwithin the specified parameter in the operational data. When it isdetermined that the agent device is functioning within the specifiedparameters, the identifier data may not be disbanded. However, when itis determined that the agent device is not functioning within thespecified parameters, or does not respond to the challenge communication(e.g. due to power failure), the identifier data can be disbanded.

It will be appreciated that agent devices described herein may beapplied to packaging for various goods and may be used in a plurality ofapplications. The following examples of such goods and applications areillustrative only are not intended to be limiting.

FIGS. 4a to 4c schematically show part of an example lifecycle of agentdevices 2 a-2 c, whereby post-manufacture, the agent devices 2 a-2 c areprovisioned with identifier data using a remote resource such as a dataprocessing device 24 (e.g. by the manufacturer).

As depicted in FIG. 4b , the agent devices 2 a-2 c are applied topackaging, which, in the present illustrative example, are milk cartons,and, using data processing device 25, are provisioned with state datarelating to the respective milk cartons, whereby the state dataprovisioned on agent device 2 a may include: ‘type=full fat’;‘batch=549023’; ‘supplier ID=11111’; ‘date of packaging=01/01/2017’;‘expiration date=31/1/2017’; ‘RRP=99p’.

The state data provisioned on agent device 2 b may include:‘type=semi-skimmed’; ‘batch=549026’; ‘supplier ID=11111’; ‘date ofmanufacture=02/01/2017’; ‘expiration date=28/1/2017’, ‘RRP=97p’

The state data provisioned on agent device 2 c may include: ‘type=UHT’;‘batch=549029’; ‘supplier ID=11111’; ‘date of manufacture=04/01/2017’;‘expiration date=05/05/2017’, ‘RRP=1.05p’.

Each agent device 2 a-2 c may also be provisioned with operational datafor the agent device applied to each carton. In the present illustrativeexample, the operational data may comprise a specified temperature rangeat which the respective cartons should be stored so as to maintain therespective expiration dates in the state data.

The respective operational data may also include an algorithm, which isused to determine an updated expiration date based on the temperaturesactually sensed by the respective agent devices. For example, therespective algorithms may be used to calculate an updated expirationdate for the milk based on the length of the time the actual temperaturesensed by the respective agent devices is outside the temperature rangespecified in operational data.

It will be appreciated that the agent devices may actively sense dataand process the sensed data and/or store the sensed data thereon.

As depicted by FIG. 4c , the cartons are transported to a first user'sstore, whereby, for the present illustrative example, the first user isa vendor and the cartons are transported to the vendor's store within atemperature range specified in the operational data.

During transportation, the agent devices 2 a-2 c can each actively sensedata (e.g. sense the temperature and/or weight), and store the senseddata in the storage circuitry.

The agent devices 2 a-2 c may harvest energy during the transportationstage to power the various circuitry and/or to maintain charge in thebattery during transportation. For example, the transportation means(illustratively depicted as a refrigerated vehicle in FIG. 4) mayinclude a Wi-Fi transmitter, whereby the agent devices 2 a-2 c mayharvest the energy from the Wi-Fi transmitter. In other examples, theagent devices 2 a-2 c may additionally or alternatively harvest energyfrom any vibrations experienced by the agent devices duringtransportation.

On arriving at the vendor, the delivery driver or the vendor may querythe respective agent devices using remote resource 26, such as a mobiledata processing device to request the device data from each agent device2 a-2 c to verify the sensed data thereon.

For the present illustrative example, when it is determined that aparticular agent device did sense temperatures which fell outside thespecified temperature range and/or the weight of a carton is below aspecified weight threshold, then the carton to which the particularagent device is applied may be discarded, or the state data updated inresponse to the sensed data. For example, an updated expiration may becalculated and the state data may be updated accordingly. Furthermore,the RRP in state data may be adjusted (e.g. reduced) in response to theupdated expiration date.

In embodiments, a remote resource may be provided within thetransportation means, whereby the different agent devices 2 a-2 c canactively transmit the device data to the remote resource duringtransportation, whereby the remote resource can monitor the state of therespective agent devices and update the state data throughout thetransportation stage. Therefore, on arriving at the vendor, the state ofall the agent devices 2 a-2 c will have been actively determined, andthe state data actively updated accordingly.

Having identified the cartons were maintained within the specifiedparameters, the vendor may store the cartons in a storage unit (e.g. afridge display) until purchased by a user.

The storage unit may also include a Wi-Fi harvester, which the agentdevices 2 a-2 c can use to harvest energy to power the various circuitrythereof and/or to maintain charge in the battery during storage.

Whilst in the storage unit, a remote resource (e.g. a mobile device orstatic device within the storage unit) may verify the state of eachcarton, by querying the device data on the respective agent devices. Ifany agent device was determined to have sensed temperatures outside theparameters specified in the operational data, that specific carton maybe discarded or updated state data (e.g. an expiration date, RRP)generated in response to processing the device data.

Such functionality may be useful in the event of power outages thatresult in the vendor's storage unit being inadvertently powered off,whereby, rather than merely discarding all of the cartons, or riskselling contaminated food, the vendor can query the state of the cartonswith the remote resource and update the expiration dates of therespective agent devices accordingly. Furthermore, rather thandiscarding all cartons, the vendor may discard only those cartons whichhave deteriorated beyond the expiration date.

Furthermore, the remote resources with which the agent devicescommunicate with may provide smart functionality in response to thedevice data received from the respective agent devices 2 a-2 c.

As an example of such smart functionality, the remote resources 24, 25,26 may communicate with the cloud environment 22 to check for statusupdates and take appropriate action, such as alerting an appropriateparty (e.g. manufacturer, vendor etc.) as to any issues (e.g. bytransmitting a command communication). Additionally, or alternatively,the remote resources 24, 25, 26 may check for updated device data (e.g.identifier data, state data, operational data etc.) and provision anyupdated device data on the agent device.

FIG. 5 extends the example lifecycle described in FIGS. 4a-4c above,whereby FIG. 5 depicts a user, which in the illustrative example may bea consumer, who, having purchased the carton with agent device 2 aapplied thereto, transports the carton to a home environment 30.

During transportation to the home environment 30, the agent device 2 acan actively sense data, continuously or periodically, and store thesensed data in the storage circuitry.

As above, the agent device 2 a may harvest energy to power the variouscircuitry and/or to maintain charge in the battery during transportationto the home environment, whereby the transportation means (e.g. a motorvehicle, bus, train) may include a Wi-Fi transmitter such that the agentdevice 2 a may harvest the energy therefrom. In other examples, theagent device 2 a may additionally or alternatively harvest energy fromany vibrations experienced thereby.

On arriving at the home environment 30, the user may store the carton ina storage unit 31 (e.g. a fridge) whereby the agent device 2 a can,continuously or periodically, generate sensed data (e.g. sensing thetemperature at which it is stored), and store the sensed data in thestorage circuitry.

As above, the agent device 2 a may harvest energy in the homeenvironment 30 to power the various circuitry and/or to maintain chargein the battery. For example, the home environment may comprise a Wi-Fitransmitter, such that the agent device 2 a may harvest the energytherefrom. In other examples, the agent device 2 a may additionally, oralternatively, harvest energy from any vibrations experienced therebythe agent device (e.g. from the storage unit).

Whist the agent device 2 a may process the sensed data locally thereon,the present illustrative example depicts a user using a remote resource32 to process the device data received therefrom. When it is determinedthat that the agent device 2 a has sensed temperatures outside thespecified temperature parameters in the operational data, the associatedcarton may be discarded or updated state data generated.

The agent device 2 a can continue to sense the temperature whilst storedin the storage unit 31, and when there is a power failure or, if theefficiency of the storage unit 31 should decrease, the state data (e.g.an expiration date) may be adjusted accordingly. Therefore, by activelysensing the temperature at which the goods were stored between applyingthe agent device to the packaging and storage of the goods in thestorage unit 31, a dynamic expiration date can be calculated, based oninter alia the sensed data generated during that period.

It will be appreciated that dynamically updating the state data mayresult in reduced wastage for the associated goods, because, rather thandiscarding the goods following an event (e.g. a power failure), the usermay trust the updated state data and consume the goods instead. Suchfunctionality may also lead to improved health and safety, becauserather than consuming goods which may have become unsafe, the user maydiscard the goods based on the updated state data.

It will be appreciated that there may be other goods having agentdevices 2 applied thereto within the home environment, each generatingdevice data and/or having device data provisioned thereon. FIG. 5schematically shows various goods in the storage unit 31, each having anagent device applied thereto.

An agent device may provide active actuation in response to sensed data,whereby such active actuation may include opening a vent in packaging;opening a valve between two parts of a package e.g. to add some extrapreservative to extend the life of the goods in the packaging; heatingthe goods to prevent damage by excessive cooling etc.

The agent device 2 will comprise circuitry to provide the activeactuation in response to the sensed data or state data, whereby suchcircuitry may comprise a coil which may be heated (e.g. by resistiveheating) to perforate the packaging by melting (e.g. to open a vent orbreak a seal). Additionally, or alternatively, such circuitry maycomprise a piezo-electric actuator e.g. to open/close a valve in thepackaging. As an illustrative example of such active actuation, aproduct shipped as an organic product may have an initial shelf life of3 days, but, whereby after 2.75 days, if it's determined that theproduct has not been used, the agent device 2 will perform activeactuation to break a seal (e.g. by heating) so as to release apreservative into the interior of the packaging, such that the goods areno longer organic, but whereby the shelf life of the goods is extended,thereby potentially preventing wastage. The agent device can adjust thestate data accordingly to take account of the updated state data.

As above, a remote resource can provide smart functionality in responseto the device data received from the different agent devices. As afurther example of such smart functionality, the remote resource 32 maytransmit a command communication to cause the agent device 2 to provideactive actuation and/or to cause the agent device 2 to display theupdated expiry date or to display that the associated goods are nolonger organic.

As a further example of such smart functionality, the remote resource 32may communicate with the cloud environment 22 to check for statusupdates for one or more agent devices in the home environment, and takeaction accordingly. For example, the remote resource 32 may communicatewith the cloud environment 22 to check whether there is a recall onparticular goods, batch of goods, or goods from a particular supplieretc. and take appropriate action, such as warning the user.Additionally, or alternatively, the remote resource 32 may check forupdated device data (e.g. identifier data, state data, operational dataetc.) and provision any updated device data on the agent device.

As further example of such smart functionality, and keeping with theillustrative example of FIG. 5, when there are two or more cartons ofmilk in the storage unit 31, the remote resource 32 may determine thedate order in which the cartons will expire, and alert the user so thecartons of milk can be consumed in date order. For example, the dateorder may be displayed on the respective agent devices using therespective displays, whereby a carton of milk due to expire first indate order will display a code (e.g. “1”, “Drink First”, “X days toexpiration”, or barcode) in response to a command communication receivedthereat, whilst a carton due to expire second in order will display textor a code (e.g. “2”, “Drink Second”, “Y days to expiration” or abarcode) in response to command communication received thereat. The usercan the read or scan the code to determine the date order.

As a further example of such smart functionality, the remote resource 32may, by monitoring the device data from all agent devices, determinewhen the number of cartons, or, using the sensed data from an individualagent device, determine when the level of milk in a specific cartonfalls below a threshold weight or exceeds a threshold date (e.g. 3 daysprior to expiration date), and the remote resource 32 can communicatewith an online store (e.g. Ocado®) via the cloud application 22 to placean order for additional cartons, whereby the threshold date, thresholdnumber of cartons in a storage unit, or threshold weight for a specificcarton may be set at the remote resource by the user. In some examples,the remote resource 32 may also search online databases (e.g. on thecloud environment) to obtain price reductions for any ordered goods.

As a further example of such smart functionality, the remote resource 32may access a calendar database for the home environment, and order milkon the basis of the entries in the calendar database. For example, ifthe user is away from the home environment for a period, the remoteresource may transmit a command communication to an appropriate resourceto order milk to coincide with the user's return.

As a further example of such smart functionality, the remote resource 32may generate recipes based on the goods associated with one or moreagent devices in the home environment, and communicate (e.g. as acommand communication) the suggested recipes to the user. When the userindicates that they are preparing a suggested recipe, the remoteresource 32 may also transmit a command communication to cause the goodsto display information to the user.

For example, a display on an agent device applied to an egg carton maydisplay “Add first; use four of”; a display on an agent device appliedto a milk carton may display “Add second; Use 250 ml”; a display on anagent device applied to a butter tub may display “Add third; Use 50 g”etc.

The remote resource 32 may also interact with other devices (e.g., smartobjects) within the home environment to provide smart functionality(e.g. transmit command communications thereto). As an illustrativeexample, and keeping with the example of preparing a suggested recipe,the remote resource may control an oven in order to maintain a specifictemperature or to turn off the oven after a duration.

As a further example of such smart functionality, the remote resourcemay provide targeted messages for owners of an agent device in responseto the sensed data, whereby, and keeping with the illustrative exampleabove, the remote resource may transmit a command communication to adisplay in the user's home environment (e.g. a display on a fridge) todisplay a message. As an illustrative example, on determining that milkregularly exceeds its expiry data, the remote resource may cause “Buylonger lasting Cravendale® milk to avoid wastage” to be displayed.

As a further illustrative example of such smart functionality, theremote resource may transmit the device data to an interested party,whereby the interested may be identified using a device identifierprovided on the agent device. Such an interested party may be amanufacturer or a distributor of products, whereby the interested partycan, for example, analyse sensed data to identify usage information,user trends and/or user habits, and take an action in response to theanalysis. Such an action may comprise causing the remote resource totransmit a command communication to a display in the user's homeenvironment. In examples, the user may, via the remote resource (e.g.via a web control panel) control whether the remote resource isauthorised to transmit the sensed data to an interested party.

As a further illustrative example, and keeping with the example of FIG.5, by identifying that the agent devices for different goods in storage(e.g. a refrigerator) all have sensed data outside of specifiedparameters (e.g. a temperature parameter), the remote resource maydetermine that the storage unit is malfunctioning and alert a useraccordingly.

It will be appreciated from the illustrative examples above, that anagent device can actively sense data throughout its lifecycle, whilstthe state of goods associated with an agent device can also bedetermined/verified throughout the lifecycle, and the state data updatedaccordingly. Furthermore, a remote resource may provide smartfunctionality in response to the device data received from one or moreagent devices by transmitting a command communication to one moreresources/devices.

It will be appreciated that goods (e.g. foodstuffs, beverages,medicines, explosives etc.) may generate a specific gas profile, whichmay vary as the goods age, whereby an agent device can sense the gasprofile of the goods throughout the lifecycle thereof, and detectwhether the goods have spoiled or have become contaminated.

FIGS. 6a and 6b schematically show an illustrative example of agentdevices 2 d-2 g providing such functionality, whereby in FIG. 6a theuser prepares a sandwich using ingredients having associated agentdevices 2 d, 2 e, 2 f. For example, agent device 2 d may be provided onpackaging (e.g. a wrapper) for sliced bread, agent device 2 e may beprovided on packaging (e.g. plastic foil) for sliced ham, and agentdevice 2 f may be embedded within packaging (e.g. a bottle) formayonnaise.

On preparing the sandwich, the user may use remote resource 40 to obtaindevice data from each agent device 2 d, 2 e and 2 f, whereby the devicedata may include state data comprising an expiration date for eachingredient and operational data comprising an algorithm for determininga rate of deterioration for the respective ingredients in response tosensed temperature, gas, humidity, light exposure etc.

The data processing device 40 can calculate an expected expiration datefor the sandwich in response to the device data received from thevarious agent devices 2 d-2 f. The remote resource 40 may alsocommunicate with a cloud application 42 to obtain any status updates forthe respective ingredients. For example, the cloud application 42 mayprovide the data processing device with an algorithm for calculating anexpiration date for the combination of ingredients based on the humidityor temperature, or may provide an algorithm for calculating an updatedexpiration date based on a particular gas emitted as a particularingredient or combination of ingredients deteriorates.

A user can then apply an agent device 2 g within a sandwich bag, placethe sandwich within the sandwich bag and provision the agent device 2 gwith the device data.

The agent device 2 g can sense data in the time between beingprovisioned with the device data and the user consuming the sandwich.Additionally, or alternatively, the agent device 2 g can process thedevice data, or communicate with remote resource 50 to transmit devicedata thereto to perform the processing, whereby, in the presentillustrative example the remote resource 50 may be a mobile telephone.

The expected expiration date may be updated in response to the senseddata and/or the user notified as appropriate. For example, when it isdetermined that the sandwich is unsafe the eat (e.g. due tooverheating), the mobile device may generate an alert thereon, orinstruct the agent device 2 g to display a code (e.g. “unsafe” or “X”).

As above, the agent device 2 g may harvest energy to power the variouscircuitry and/or to recharge the battery, whereby in the presentillustrative example, the user's remote resource 50 may include a Wi-Fitransmitter such that the agent device 2 g may harvest the energy fromthe Wi-Fi transmitter. In other examples, the agent device 2 g mayadditionally or alternatively harvest energy from any vibrationsexperienced thereby.

A further illustrative example of sensing circuitry is shown in FIG. 7,whereby agent device 2 i is applied to a carton for eggs 62 a-e.

Furthermore, each of the individual eggs 62 a-e is provided with anobject presence sensor circuitry 64, which in the present examplecomprises a conductive wire coil, which may be printed directly onto theeggs.

In operation, the agent device may sense the inductance resulting fromthe respective wire coils, whereby the inductance sensed by the agentdevice 2 i decreases as the number of eggs in the packaging decreases.

The agent device 2 i may actively sense the inductance, continuously orperiodically, and process the device data and/or transmit the devicedata to a remote resource for processing, and appropriate action takenin response to processing the device data.

Such appropriate action may be for the remote resource to provide smartfunctionality by transmitting a command communication to an appropriateresource to re-order eggs when the sensed quantity is below a specifiedthreshold. Further appropriate action may be for the remote resource totransmit a command communication to the agent device to cause the agentdevice to update a display thereon. For example, a display on the agentdevice 2 i may be updated to display a code (e.g. “5 eggs remain”, or abarcode).

Whilst the illustrative examples of FIGS. 4 to 7 depict agent devicesapplied packaging to for food, the goods are not limited to food, andagent devices can be applied to packaging for any goods, as will beappreciated by a skilled person having taken account of the presentdescription.

For example, the goods may be medicine, e.g. a prescription tablets orliquid, which should be maintained at a particular temperature tomaintain the potency of the medicine.

An agent device may be applied inside the primary packaging (e.g. abottle) for medicine, whereby the state data provisioned on agent devicemay include: ‘type=lorazepam’; ‘batch=7789’; ‘pharma manufacturerID=22222’; ‘date of manufacture=20/12/2016’; ‘expirationdate=20/12/2017’.

The agent device may also be provisioned with operational data. In thepresent illustrative example, the operational data may specify atemperature range at which the medicine should be stored to maintain thepotency of the medicine at least up to the expiration date specified inthe state data. As above, the operational data may also include analgorithm, which is used to determine an updated expiration date inresponse to the temperatures actually sensed by the agent device, andthe length of the time the actual temperature was determined to beoutside the required temperature range.

The agent device can sense the temperature from when packaged through toconsumption by the user, and store the sensed data in the storagecircuitry. As above, the agent device can process the device data, or aremote resource can be used to query the device data.

In this manner, a user (e.g. a consumer, pharmacist etc.) can beconfident that the medicine was stored correctly at all times.

For example, a consumer may inadvertently leave the pills in a vehiclefor a period of time, whereby the temperature in the vehicle exceeds thespecified temperature range. In the present illustrative example, theagent device may sense the temperature and process the sensed datalocally, taking appropriate action when it's determined that the sensedtemperature exceeds the specified temperature. Such appropriate actionmay be to alert a user or update a display on the agent deviceaccordingly.

Alternatively, the consumer may use a remote resource to query the agentdevice before taking the medicine to request the device data includingthe stored sensed temperature data. The remote resource can then takeappropriate action based on the processed data. Such appropriate actionmay be to update a display on the agent device accordingly.

Furthermore, goods may be required to be maintained at particularorientation (e.g. vertical or horizontal), whereby an agent deviceassociated with the goods can sense the orientation of the goodsthroughout the lifecycle thereof, from manufacture to user (e.g. usingan accelerometer). The agent device can process the sensed data, or thedevice data may be queried using a remote resource. Appropriate actionmay then be taken when determined that goods were stored outside of theorientation parameters specified in the operational data. For example,the goods may be discarded or compensation sought from an appropriateparty.

As an illustrative example, an agent device may be applied to a bottleof wine, and the orientation of the wine monitored from bottling thoughto consumption. A bottle of wine associated with any agent device notmaintained at the required orientation can be monitored and appropriateaction taken in response to processing the sensed data. For example, theindividual bottles may be discarded or compensation sought whendetermined to have been stored at an orientation outside of thespecified parameters.

As a further illustrative example, goods (e.g. food, electronicequipment, sterile equipment) may be provided within a hermeticallysealed package having an inert gas therein for protection or to preventbacteria ingress etc. Before hermetically sealing the package, an agentdevice comprising a chemical sensor may be applied within the package,such that when sealed, the agent device comprising the chemical sensorcan sense the inert gas. When the level of sensed inert gas falls belowa specified threshold, the agent device, or a remote resource, can takeappropriate action such as calculating an updated expiration date basedon the level of sensed inert gas or causing a code (e.g. “check seal”)to be displayed on the display.

As previously described, an agent device may not have any sensorcircuitry provided thereon, whereby the device may be provisioned withdevice data which is queried by a remote resource.

As an illustrative example, the agent device may be applied to a parcelor letter, whereby identifier data provisioned on the agent deviceprovides for tracking of the agent device by a remote resource.Additionally, or alternatively, state data provisioned on the agentdevice may define the recipient and the address thereof, and whether thecorrect tariff was paid etc.

In operation, the agent device may transmit its device identifier (e.g.UUID) and state data to a remote resource (e.g. by broadcasting thedevice data or on receipt of a command communication from the remoteresource). The remote resource can then use the device identifier totrack the agent device and/or the state data to ensure that theassociated parcel or letter is delivered to its destination (e.g. arecipient specified in state data).

With the illustrative examples described above in mind, it will beappreciated that an agent device may be applied to packaging, and astate or characteristic of the associated goods determined from thedevice data, and appropriate action taken in response to the determinedstate.

FIG. 8 is a flow diagram of an example lifecycle of the agent device,from manufacture of the agent device through to the disbanding of devicedata thereon.

The process begins at S100, whereby an agent device having variouscircuitry (processing, storage, communication, sensor etc.) ismanufactured. The agent device may comprise a flexible substrate in oron which the various circuitry is provided.

At S102, the agent device is provisioned with identifier data, which maybe used to identify the agent device and different aspects thereof. Theidentifier data may also include authentication data for establishingtrust/authentication between the agent device and another resource, suchas a data processing device. The identifier data may be provisioned onthe device by a manufacturer or any suitable party, although the claimsare not limited in this respect.

At S104, the agent device is applied to packaging for goods, andprovisioned with further device data, such as state data and operationaldata.

At S106, the agent device, using the sensor circuitry thereon (e.g.temperature sensor, chemical sensor, humidity sensor, light sensor,weight sensor etc.) senses data and stores the sensed data in storagecircuitry thereon. The sensed data may be generated continuously orperiodically.

At S108, the agent device processes the sensed data locally to determinewhether the sensed data is within parameters specified in theoperational data.

At S110, the agent device performs one or more actions in response tothe determination at S108. For example, when the agent device determinesthat the sensed data is within the specified parameters, the agentdevice may return to S106 and continue to generate sensed data.

On the other hand, when the agent device determines that the sensed datafell outside the specified parameters, the agent device may dynamicallyupdate the state data on the agent device using an algorithm in thedevice data (e.g. adjusting an expected expiration date), or forexample, the agent device may notify an owner of the agent device (e.g.by displaying a human readable code on a display).

Whilst S108 and S110 describe the agent device performing localprocessing using the processing circuitry provided thereon, the agentdevice may, in other examples, transmit the device data thereon to aremote resource (S112). Such a transmission may occur in response to acommand communication from the remote resource requesting that the agentdevice transmit the device data. Alternatively, the agent device maytransmit the device data to one or more devices (e.g. as a multicast ora broadcast transmission), whereby such transmissions may be performedcontinuously or periodically.

On receiving the device data, the remote resource processes the senseddata, or transmits the device data to a further resource (e.g. a serveror a cloud environment) for processing. When it is determined that thesensed data is within the specified parameters, the remote resource maynot take any action and the agent device continues to generate senseddata as at S106.

On the other hand, when the remote resource determines that the senseddata fell outside the specified parameters, the remote resourcetransmits one or more command communications to the agent device, thecommand communications comprising command data recognised by the agentdevice as denoting one or more actions to be taken thereby. Such actionsmay include those as described above in S110, whereby the agent deviceis instructed to update state data thereon, or whereby the agent deviceis instructed to update a display thereon. In other examples, the remoteresource may also update an owner of the agent device as to the result(e.g. via an SMS message, email etc.)

Furthermore, an action may be to disband the identifier data of theagent device, whereby when it is determined to disband the identifierdata at S116, the agent device's identifier data is rendered invalid atS118 (e.g. by a registry resource). Alternatively, the agent devicecontinues to generate sensed data as at S106.

Furthermore, disbanding the identifier data may be an active process,whereby a registry resource automatically disbands the identifier dataafter set duration. In an alternative example, disbanding the identifierdata may be a passive process, whereby disbanding occurs after the agentdevice fails a challenge-response operation with a remote resource.

At S120, the process ends and the packaging having the agent deviceapplied disposed.

It will be appreciated that wastage may be reduced for goods havingagent devices with sensing capabilities applied thereto in comparison togoods which do not have such agent devices applied thereto because thegoods can be readily identified and authenticated by data provisionedthereon, and the characteristics or state of the goods can be readilydetermined, and updated based on the sensed data.

It will also be appreciated that such agent devices may supplement, orreplace, one-dimensional barcodes (e.g. UPC & EAN barcodes) andtwo-dimensional barcodes (e.g. QR code & Datamatrix code barcodes) onproduct packaging as the characteristics or state of goods candetermined using wireless communications rather than optical scanningtechniques alone.

Furthermore, rather than relying on relatively expensive equipment toprovide smart functionality (e.g. smart refrigerators having cameras andassociated complex machine learning techniques), the device data on theagent devices can be transmitted to a remote resource via wirelesscommunications, and used for identification and tracking purposes andfor providing smart functionality using the remote resource.

Embodiments of the present techniques further provide a non-transitorydata carrier carrying code which, when implemented on a processor,causes the processor to carry out the methods described herein.

The techniques further provide processor control code to implement theabove-described methods, for example on a general-purpose computersystem or on a digital signal processor (DSP). The techniques alsoprovide a carrier carrying processor control code to, when running,implement any of the above methods, in particular on a non-transitorydata carrier or on a non-transitory computer-readable medium such as adisk, microprocessor, CD- or DVD-ROM, programmed memory such asread-only memory (firmware), or on a data carrier such as an optical orelectrical signal carrier. The code may be provided on a(non-transitory) carrier such as a disk, a microprocessor, CD- orDVD-ROM, programmed memory such as non-volatile memory (e.g. Flash) orread-only memory (firmware). Code (and/or data) to implement embodimentsof the techniques may comprise source, object or executable code in aconventional programming language (interpreted or compiled) such as C,or assembly code, code for setting up or controlling an ASIC(Application Specific Integrated Circuit) or FPGA (Field ProgrammableGate Array), or code for a hardware description language such asVerilog™ or VHDL (Very high speed integrated circuit HardwareDescription Language). As the skilled person will appreciate, such codeand/or data may be distributed between a plurality of coupled componentsin communication with one another. The techniques may comprise acontroller which includes a microprocessor, working memory and programmemory coupled to one or more of the components of the system.

Computer program code for carrying out operations for theabove-described techniques may be written in any combination of one ormore programming languages, including object oriented programminglanguages and conventional procedural programming languages. Codecomponents may be embodied as procedures, methods or the like, and maycomprise sub-components which may take the form of instructions orsequences of instructions at any of the levels of abstraction, from thedirect machine instructions of a native instruction set to high-levelcompiled or interpreted language constructs.

It will also be clear to one of skill in the art that all or part of alogical method according to the preferred embodiments of the presenttechniques may suitably be embodied in a logic apparatus comprisinglogic elements to perform operations of the above-described methods, andthat such logic elements may comprise components such as logic gates in,for example a programmable logic array or application-specificintegrated circuit. Such a logic arrangement may further be embodied inenabling elements for temporarily or permanently establishing logicstructures in such an array or circuit using, for example, a virtualhardware descriptor language, which may be stored and transmitted usingfixed or transmittable carrier media.

In an embodiment, the present techniques may be realised in the form ofa data carrier having functional data thereon, said functional datacomprising functional computer data structures to, when loaded into acomputer system or network and operated upon thereby, enable saidcomputer system to perform operations of the above-described method.

In the context of the present application, the term “data” as referredto herein (e.g., as modified as “state data,” “device data,” “identifierdata,” “authentication data,” “sensed data,” “operational data,” etc.)is to mean a physical signal and/or state that expresses and/orrepresents one or more values, parameters, conditions, symbols, portionsof images, measurements and/or computation results. In one embodiment,such data may comprise a physical signal and/or state maintained on atangible storage device (e.g., volatile or non-volatile memory device).In another embodiment, such data may comprise a physical and/or statebeing transmitted in a communication transmission medium (e.g., whereinthe physical and/or state modulates one or more physical signals in thecommunication transmission medium).

In the preceding description, various embodiments of claimed subjectmatter have been described. For purposes of explanation, specifics, suchas amounts, systems and/or configurations, as examples, were set forth.In other instances, well-known features were omitted and/or simplifiedso as not to obscure claimed subject matter. While certain features havebeen illustrated and/or described herein, many modifications,substitutions, changes and/or equivalents will now occur to thoseskilled in the art. It is, therefore, to be understood that the appendedclaims are intended to cover all modifications and/or changes as fallwithin claimed subject matter.

As will be appreciated from the foregoing specification, techniques aredescribed providing a data processing device which can be applied topackaging for associated goods.

The device may comprise: sensor circuitry to generate sensed devicedata, and wherein the device is configured to store the sensed devicedata in the storage circuitry, process the sensed device data and/ortransmit the sensed device data to a remote resource.

The device may actively generate the sensed device data.

The sensor circuitry may comprise one or more of: a temperature sensor,a chemical sensor, a humidity sensor, a light sensor, a weight sensor,an orientation sensor and an accelerometer sensor.

The device may further comprise power circuitry having one or more of a:persistent power source and an energy harvester, wherein the energyharvester may comprise one or more of: a vibration harvester, a radiofrequency harvester, a light harvester and a thermal energy harvester.

The device data may comprise operational data comprising one or more of:operating parameters for the agent device and an algorithm to determineupdated device data in response to the sensed data.

The device data may comprise state data relating to one or more goods towhich the device is applied.

The device may be configured to update the state data in response toprocessing the device data or wherein the device may be configured toupdate the state data in response to a command communication receivedfrom the remote resource.

The state data may comprise an expiration date of goods associatedtherewith.

The device data may comprise identifier data, wherein the identifierdata comprises one or more of: a device identifier and authenticationdata.

The communication circuitry may comprise one or more of: wirelesscommunication circuitry and a display.

In embodiments, one or more of storage circuitry, processing circuitry,communication circuitry, power circuitry and sensor circuitry is printedon or in the substrate.

Techniques are also described providing methods for determining a stateor characteristic of goods to which a claimed device is applied.

Techniques are also described providing methods for updating state dataon a claimed device, whereby such state data may include an expirationdate of associated goods

Techniques are described providing a system having a claimed dataprocessing device and a remote resource in communication therewith.

The system may further comprise a second remote resource arranged incommunication with the first remote resource, wherein the second remoteresource may be a cloud environment.

What is claimed is:
 1. A data processing device, for applying topackaging, the device having a flexible substrate, the flexiblesubstrate comprising: storage circuitry to store device data therein,wherein the device data comprises state data relating to the state orcharacteristics of one or more goods; processing circuitry to processthe device data; communication circuitry to communicate with a remoteresource to transmit the device data thereto; sensor circuitry togenerate sensed device data; and circuitry to provide active actuationin response to the sensed device data, wherein the device is configuredto update the state data based on or in response to the sensed devicedata.
 2. The device according to claim 1, wherein the device activelygenerates the sensed device data.
 3. The device according to claim 1,wherein the sensor circuitry comprises: a temperature sensor, a chemicalsensor, a humidity sensor, a light sensor, a weight sensor, anorientation sensor, an object presence sensor, a fluid level sensor oran accelerometer sensor, or a combination thereof.
 4. The deviceaccording to claim 1, further comprising power circuitry having apersistent power source and/or an energy harvester.
 5. The deviceaccording to claim 4, wherein the energy harvester comprises: avibration harvester, a radio frequency harvester, a light harvester or athermal energy harvester, or a combination thereof.
 6. The deviceaccording to claim 1, wherein the device data comprises operational datacomprising operating parameters for the data processing device and/or analgorithm to determine updated device data in response to the senseddata.
 7. The device according to claim 1, wherein the device isconfigured to update the state data in response to a commandcommunication received from the remote resource.
 8. The device accordingto claim 1, wherein the state data comprises an expiration date of goodsassociated therewith.
 9. The device according to claim 1, wherein thedevice data comprises identifier data.
 10. The device according to claim9, wherein the identifier data comprises a device identifier and/orauthentication data.
 11. The device according to claim 1, wherein thecommunication circuitry comprises wireless communication circuitryand/or a display.
 12. The device according to claim 1, wherein storagecircuitry, processing circuitry or communication circuitry, or acombination thereof, is printed on or in the substrate.
 13. A method ofupdating data on a data processing device comprising flexible substrate,the method comprising: provisioning, at storage circuitry of the dataprocessing device, state data relating to a state and/or characteristicsof one or more goods; generating, at sensor circuitry of the device,sensed data; processing, at the data processing device, the sensed data;updating, on the storage circuitry at the data processing device, thestate data in response to the processed sensed data; and providingactive actuation in response to the sensed data.
 14. A computer programproduct stored on a non-transitory computer-readable medium andcomprising computer readable code to be executable by one or moreprocessors of a data processing device to: provision, at storagecircuitry of the data processing device, state data relating to a stateand/or characteristics of one or more goods; generate, at sensorcircuitry of the data processing device, sensed data; process, at thedata processing device, the sensed data; update, on the storagecircuitry at the data processing device, the state data in response tothe processed sensed data; and provide active actuation in response tothe sensed data.